// pages/authorization/authorization.js
var app = getApp();
var service = require('../../utils/service.js');

Page({

  data: {
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.setNavigationBarTitle({
      title: '授权登录',
    })
    if (!this.data.canIUse){
      app.showConfirm('提示', '微信版本过低,请先升级微信', false)
    }
  },

  // 点击授权获取信息
  bindGetUserInfo: function (e) {
    console.log(e);
    var that = this;
    if (e.detail.userInfo == null) {
      app.showConfirm('提示', '请同意获取用户信息,否则有可能引发未知错误!', false)
    } else {
      app.globalData.userInfo = e.detail.userInfo;
      wx.login({
        success: function (res) {
          console.log(res)
          var code = res.code;
          that.getToken(code, e.detail.userInfo);
        }
      })
    }
  },

  // 根据授权信息换取token
  getToken: function (code,userInfo) {
    console.log(code, userInfo)
    var that = this;
    var data = {
      code: code,
      nickname: userInfo.nickName,
      avatar: userInfo.avatarUrl,
      sex: userInfo.gender
    };
    service.getConnect(service.api.login, data).then(function (res) {
      wx.hideLoading();
      console.log(res);
      // 初始化样式
      app.utils.initWxappStyle(app, that);
      wx.setStorageSync("token", res.data.token);
      app.globalData.token = res.data.token;
      // 未绑定时跳转绑定页面
      if (!res.data.isBindMobile) {
        wx.redirectTo({
          url: '../bind/bind',
        })
      } else {
        app.globalData.userInfo = res.data.userData;
        wx.setStorageSync("userInfo", res.data.userData);

        wx.navigateBack();
        // 获取当前页面js里面的pages里的所有信息
        let pages = getCurrentPages();
        pages[pages.length - 2].onShow();
      }
    }, function (res) {
      console.log(res);
      app.showConfirm('提示', res.data.msg, false);
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    app.pageOnloadInit(this, app);
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
});
